Automated subscriber-based customization of electronic channels for content presentation

ABSTRACT

Methods and systems can provide custom electronic-channel content items to display when a device is in display state. It can be determined that a user device is subscribed to receive content items corresponding to a channel and to present one or more of the content items when the user device is in a display state. Data corresponding to the user device can be identified. The data can correspond to a physical or electronic action (e.g., an interaction with a presented content item or a purchase at a channel-associated virtual or physical store). A customization rule for the channel can be identified. A content item can be generated or selected using the customization rule and the data. It can be enabled for the content item to be presented on the user device when the user device is in the display state.

BACKGROUND

A wealth of information is now available to users via the Internet andother communication tools. Some information requires users to activelysearch for the content before it is presented. Other information (e.g.,advertisements) is presented without a user request, but user interestin such information can be limited.

SUMMARY

In some embodiments, techniques can provide allow publishers to defineand manage individual electronic channels. For each channel, thepublisher can upload or otherwise define a set of content items. Thepublisher can further set rules as to how content items are to beselected for presentation (amongst the set of content items) and/or howthey are to be presented (e.g., a presentation duration). In someinstances, these rules can include user-specific factors. For example,selection of a content item for presentation can depend on a user'slocation, preferences, purchase history, calendar and/or other channelsubscriptions. In some instances, a content item itself is defined in auser-specific manner based on a user characteristic. For example, adiscount amount or applicability or displayed text can be determined fora particular user, and a custom content item can be generated to includethe determined information. A publisher can associate each content itemwith a destination (e.g., a URL), such that detection of a particularuser action (e.g., mouse click or key stroke) can cause a device of theuser to be directed to the destination.

A user can select one or more channels to subscribe to. Suchsubscriptions can cause one or more devices associated with the user toreceive content items for the selected channels. A user device can entera display state, for example, upon detection of particular user input,detection of passage of an inactivity threshold (e.g., not havingreceived user input for a defined period of time), detection of anapplication action (e.g., a termination of a phone call or end of atelevision show), and so on. During the display state, content itemsassociated with the subscribed channels can be presented. For example,content items can be sequentially presented in a substantiallyfull-screen manner. In some instances, content items displayed during adisplay state are exclusive to the subscribed channels. In otherinstances, additional content items are displayed and/or one or moredefault subscriptions are added to a user's subscription list.

In one instance, one or more questions are presented to the user. Thesequestions can include default questions, such as profile questions,and/or questions specified by one or more publishers. For example, aftera user subscribes to a channel, one or more questions can be immediatelypresented to the user. As another example, a content item can include aquestion, and a user can interact with the content item to identify ananswer (e.g., by clicking on an appropriate portion of a screen or bysubmitting what is typically a destination-requesting input to identifyan affirmative (or negative) answer). Answers to questions can be usedto customize content items for that user by, e.g., influencingintra-channel selection of content items to present, influencing whichchannels' content items are presented (e.g., by influencing channels'weighting or rankings), and/or influencing information in a specificcontent item.

A channel-management service can also access a user's calendar andpredict where a person will be at specific times in the future. Thus,not only can channel content be based on a particular user's currentlocation, but it can also or alternatively be based on a predictedfuture location and/or activity.

In some embodiments, a method provides custom electronic-channel contentitems to display when a device is in display state. It can be determinedthat a user device is subscribed to receive content items correspondingto a channel and to present one or more of the content items when theuser device is in a display state. Data corresponding to the user devicecan be identified. The data can correspond to a physical or electronicaction (e.g., an interaction with a presented content item or a purchaseat a channel-associated virtual or physical store). A customization rulefor the channel can be identified. A content item can be generated orselected using the customization rule and the data. It can be enabledfor the content item to be presented on the user device when the userdevice is in the display state.

In some instances, it can be enabled for a question, defined by anentity associated with the channel, to be presented via another contentitem when the user device is in the display state. A response to thequestion can be determined based on a user interaction with the othercontent item. The data can include a response to the question.Generating or selecting the content item can include identifying acontent-item template associated with the rule and generating thecontent item using the template, rule and the data. The performingdevice can include a computing device remote from the user device.Enabling the content item to be presented on the user device when theuser device is in the display state can include transmitting the contentitem to the user device.

The performing device can include the user device. Enabling the contentitem to be presented on the user device when the user device is in thedisplay state can include presenting the content item on the user devicewhen the user device is in the display state. The data corresponding tothe user device can include data characterizing previous input receivedthat corresponded to an interaction with a previously presented contentitem. The data corresponding to the user device can include datacharacterizing previous input corresponding to access a destinationassociated with a previously presented content item. The datacorresponding to the user device can include an estimated location orpredicted future location of the user device. The data corresponding tothe user device can include data characterizing an event in a calendarassociated with the user device. The data corresponding to the userdevice can include data provided by a merchant device associated withthe channel identifying a purchase or appointment. The customizationrule can identify how to include at least part of the data in thecontent item.

In some embodiments, a system is provided that can include one or moredata processors and a non-transitory computer readable storage mediumcontaining instructions. The instructions, when executed on the one ormore data processors, can cause the one or more data processors toperform a method as disclosed herein.

In some embodiments, a computer-program product can be provided that istangibly embodied in a non-transitory machine-readable storage mediumand that includes instructions configured to cause one or more dataprocessors to perform a method as disclosed herein.

Some embodiments of the present application include one or morecomputer-readable non-transitory media storing computer-executableinstructions that, when executed by one or more computer systems,configure the one or more computer systems to perform operationsaccording to the method above.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a block diagram of an embodiment of a channel-distributioninteraction system.

FIG. 2 shows a block diagram of an embodiment of electronic-channelmanagement system.

FIG. 3 shows a block diagram of an embodiment of a user device.

FIG. 4 shows a flow diagram of a process 400 for displaying of achannel's content items on a user device according to an embodiment ofan invention.

FIG. 5 shows flow diagram of a process for displaying interactivechannel content at a user device according to an embodiment of theinvention.

FIG. 6 shows flow diagram of a process for customizing channel contentitems for a user or user device according to an embodiment of theinvention.

FIG. 7 shows flow diagram of a process for receiving information via acontent-item interaction according to an embodiment of the invention.

FIG. 8 shows flow diagram of a process for distributing user dataaccording to an embodiment of the invention.

FIG. 9 shows flow diagram of a process for generating a custom channelcontent item according to an embodiment of the invention.

FIG. 10 shows flow diagram of a process for processing a publisherrequest using user account data according to an embodiment of theinvention.

FIG. 11 shows an example of a template of content item that can becustomized for a user or group of users according to an embodiment ofthe invention.

DETAILED DESCRIPTION

In some embodiments, systems and methods are provided fornon-intrusively electronically presenting content items in a customizedmanner. Specifically, each publisher in a set of publishers can define achannel (e.g., a “Golf” channel, a “Restaurant X” channel, a “FantasyFootball League Y” channel, etc.). For each channel, the publisher canspecify which content items are to be presented to subscribers. In oneinstance, the publisher can upload a set of content items (e.g., images,text, or videos) which include particular content (e.g., information,alerts or updates, or discounts). Some or all of the content items canbe transmitted to a device of a subscriber. When a given user device isin a display state (e.g., which can be entered upon detecting a lack ofuser inputs for a defined time period), it can present some or all ofthe received content items for each channel that the user device (orcorresponding user) is subscribed to. In some instances, the contentitems are presented in a sequence, such that it can be determinedwhether and/or when (in a sequence) a given content item is to bepresented.

Techniques disclosed herein provide an ability to customize individualcontent items, content-item selection and/or content-item sequencing fora particular user and/or user account. Such customization can depend on,for example, data associated with the user or user device, which caninclude data associated with channel presentation (e.g., which contentitems were presented on a user device and/or which content items theuser interacted with), data received from a party or device associatedwith a channel, user input data, calendar data, and/or data detected bythe user device (e.g., location data). For example, a discount amountcan be customized based on a user's past interactions with acompany-associated channel's content items, a time until an upcomingappointment with an office associated with a channel or a currentlocation of a user device. As another example, channels can beassociated with weightings for a user or user device indicating how manychannel-associated content items are to be presented relative to thoseof other devices. The weighting can be influenced based on, e.g., anumber or total value or past purchases at a physical or online storeassociated with a channel or query-responsive input provided by a user.

In some instances, a publisher can identify particular questions topresent to one or more users. The questions can be presented as part ofa subscription process and/or as part of content-item presentation. Forexample, a question can be presented and select user input can direct toa user device to a location where a user can identify an answer, or abinary question can be answered where an interaction is to beinterpreted as corresponding to a particular answer. Such responses,which can be combined with general profile information and/or otherdata, can be used in a customization process.

Referring first to FIG. 1, a block diagram of an embodiment of achannel-distribution interaction system 100 is shown. A publisher 105,user 115 and/or merchant agent 125 can interact with anelectronic-channel management system 150 via respective devices 110, 120and/or 130 and a network 140, such as the Internet, a wide area network(WAN), local area network (LAN), short-rage network or other backbone.Network 140 can include a wired connection or wireless connection. Insome instances, multiple networks are used.

In some embodiments, electronic-channel management system 150 is madeavailable to one or more of publisher 105, user 115 and/or merchantagent 125 via an app (that can be downloaded to and executed on anelectronic device) or a website. It will be understood that, althoughonly one publisher 105, user 115 and/or merchant agent 125 are shown,system 100 can include multiple publishers 105, users 115 and/ormerchant agents 125.

Publisher device 110, user device 120 and/or merchant device 130 caneach be a single electronic device, such as a computer or hand-heldelectronic device (e.g., a smartphone), or a system that includesmultiple devices and/or components. The device(s) 110, 120 and/or 130can comprise a computer, such as the desktop computer, a laptop computeror a tablet. In some instances, a party 105, 115 and/or 125 usesdifferent devices at different times to interact with theelectronic-channel management system 150. For example, user 115 may usea computer to subscribe to one or more channels, and channel itemsassociated with the channels can later be presented on a handhelddevice.

Each of one or more publishers 105 can provide information and/orcontent items for an electronic channel. For example, a publisher canidentify a name, keyword(s) and/or short description for a channeland/or can associate a channel with one or more stores or websites. Apublisher can identify one or more user devices and/or users (e.g., byproviding email addresses) to invite to subscribe to a channel. Apublisher can upload each of one or more complete or partial contentitems and/or can at least partly define a rule for generating a contentitem or item selection. A publisher can include any entity at leastpartly defining a channel and/or what content items are to be associatedwith the channel. It will be appreciated that, in some instances, achannel is associated with multiple publishers. Different publishers fora given channel may fulfill different roles (e.g., defining high-levelchannel information versus uploading partial or full content items).

Electronic-channel management system 150 can store channel informationand/or content items for the channel. In some instances,electronic-channel management system 150 uses a partial content itemand/or rule to generate a content item (e.g., for a particular userand/or context).

Individual users 115 can set up accounts with electronic-channelmanagement system 150 or with another system or device (e.g., apublisher device 110) in order to view content items from one or morechannels. An account for a user can be generated, for example, prior to,during or after download of a channel app to a user device. Datapertaining to each user can be collected via an explicit query and/orautomatic detection. Account data can include, for example, a user'sname, email address, phone number, device identifier, geographiclocation, interests, school, activities, credit cards, relationships(e.g., to other users or to one or more pets), residential addresses,preferences with regard to channel display, a calendar identifier,calendar data, and/or other preferences (e.g., preferred cuisine types,shops, and/or traveling destinations).

As part of, or subsequent to, account generation, a user can identifyone or more channels to subscribe to. In some instances, one or morechannel options are identified (e.g., based on user identificationsreceived from publishers or matching or account data to one or morechannels) and presented to a user for potential subscription. In someinstances, channel-searching input can be received from a user, andidentifications of one or more channels partly or fully matching theinput can be presented to the user for potential subscription. Accountdata for user 115 can reflect which channel(s) the user is subscribedto.

For each user and/or user device, electronic-channel management system150 can select content items to transmit to the user device. Contentitems can be transmitted, e.g., upon receiving them from a publisherdevice, at a particular time (e.g., specified by a user or publisher),upon receiving a request from the user device, and so on. In someinstances, which content items are transmitted to a given user devicecan depend, not only a user's subscriptions, but also on account datafor the user. For example, which content items are transmitted for agrocery-store channel can depend on a user's residential address (e.g.,such that the content items can focus on products locally sourced orreported to be locally in excess supply).

Customization can further or alternatively be performed at user device120. User device 120 can include account data for a user which canoverlap and/or mirror account data at electronic-channel managementsystem 150. User device 120 can use account data (e.g., beyond merechannel subscriptions) to, for example, generate a custom content items,select between a channel's content items, and/or select between channelsfor a content item.

User device 120 can further detect display-state data and/or user-actiondata, update a local user account based on the data and/or transmitidentifications of the data to electronic-channel management system 150.User actions can include, for example, selecting a destination for acontent item, sharing a content item, printing a content item, saving acontent item. Display-state data can include a time period in a displaystate, a frequency of entering display state, what prompted entry intodisplay state (e.g., detection of extended inactivity or an affirmativerequest to enter display state), etc. Customizations can then beperformed based on the display-state and/or user-action data (e.g., tobias towards presentation of content items with a characteristicmatching those that the user interacted with).

In some instances, a channel is associated with one or more merchantagents. For example, a channel can be associated with one or morephysical or virtual locations, such as one or more restaurants, shops,service locations e-commerce websites, schools, associations and/orchurches. Content items for the channel can identify, e.g., a merchantlocation, an offering at a merchant location, a discount that can beredeemed at a merchant location, an appointment opening at a merchantlocation and/or an event scheduled to occur at a merchant location. Amerchant device 130 can receive input from merchant agent 125indicating, for example, that a particular user visited the location,when the visit occurred, a duration of the visit, whether a purchase wasmade, what was purchased, whether a discount was redeemed, an assignmentassigned, a grade given, and so on. Merchant device 130 can communicatesuch information to electronic-channel management system 150 (which maytransmit the data to user device 120), and channel-relatedcustomizations can be influenced.

In some instances, electronic-channel management system 150 can provide,manage and/or generate one or more apps to deliver content items for oneor more channels. In one instance, a single multi-channel app has thecapability of routing or generating content items from multiple channelsto a user device. In one instance, an app is dedicated to a specificchannel, such that content items delivered or generated using the appare for a single channel. In one instance, content items for a channelcan be delivered or generated via either the multi-channel app or thededicated app. For either the multi-channel or dedicated app scenario,electronic-channel management system 150 can manage channel information,route channel content items, transmit content-item generation rules todevices, receive and store user data, send user data to publishers, etc.

As one example, a user device may detect a channel-associated code(e.g., after scanning the code). The device may present one or more ofthe following options: download a dedicated channel app for theassociated channel, download a multi-channel app (e.g., if it is notalready on the device), add the channel to a channel list for themulti-channel app (e.g., such that presentation of content items for thechannel can be distributed amongst content items from other channelswhile the device is in a display state). In some instances, one or moreof such responses are automatically performed, and another is presentedto the user as an additional option.

Referring next to FIG. 2, a block diagram of an embodiment ofelectronic-channel management system 150 is shown. Electronic-channelmanagement system 150 can be, in part or in its entirety, in the cloud.In some instances, at least part of electronic-channel management system150 is present on a device, such as a server or a publisher device 110.Electronic-channel management system 150 can include a distributedsystem (e.g., part residing in the cloud and part on a publisherdevice). Further, it will be appreciated that each of one or morecomponents of exam administration system 150 may reside on multipledevices.

A channel definition engine 205 can receive information from a publisher(e.g., directly or via a publisher device) that at least partly definesa channel. The information can include descriptive information that canprovide an indication as to what types of content items will bepresented via the channel. The information can include, for example, achannel name, a publisher name, a name of one or more channel-associatedmerchants (e.g., stores), a channel description, a channel keyword, achannel category (e.g., informational or promotional; or sports, crafts,school or news). The information can be stored for a particular channel,e.g., upon receipt of the information from a publisher, upon receivingsome or all of the information and/or a fee.

In one instance, a publisher (e.g., any publisher or a publisher with aparticular membership) can reserve a channel name for a period of time(e.g., by identifying the name and/or paying a fee). Channel definitionengine 205 can prevent another channel from being named with a samechannel name during the time period. In some instances, the period oftime can be extended with additional fee payments.

The information can relate to content-item presentation specifics and/ordistribution specifics. For example, the information can identify afrequency and/or time when content items are transmitted to userdevices, how frequently new content items are made available, how manycontent items are made available, a type of one or more content items(e.g., video, image or text), and/or a presentation duration for one ormore content items. The information can identify which users are to bepermitted to or prevented from subscribing to the channel and/or whichusers are to be invited to subscribe to a channel (e.g., with useridentifications being made via submission of user names, email addressesor phone numbers). The information can identify one or more codes toassociate with the channel, such as a QR code or bar code. Data for eachchannel can be stored in a channel data store 210.

Channel definition engine 205 can also receive and/or generate contentitems for each channel. For example, channel definition engine 205 canreceive content items from a publisher device and/or generate a contentitem based on a rule. In some instances, a rule indicates that a contentitem is to be retrieved from and/or generated based on content availableat an identified webpage. Such a rule can, for example, allow apublisher to simultaneously update a webpage and channel content (e.g.,to reflect current product or sales offerings, current discounts, etc.).Such a rule can also or alternatively allow a content item to be updatedbased on external events (e.g., current or predicted weather, currentfinancial statistics, current news, a current sports score, etc.).

Channel content items can be stored in channel content items data store215 in association with a channel identifier. Each of one or morechannel items can further be stored with an indication as to when it isto be distributed to user devices (e.g., a time or a rule fordistribution) and/or when it is to be presented (e.g., a priorityranking indicating when it is to be presented relative to other itemsfor a channel, a duration for presentation, an expiration after which itis no longer to be presented, etc.).

In some instances, a rule indicates that a content item is to begenerated based on data associated with one or more users. An accountengine 220 can associate each user with a user account and can storeaccount data in a user account data store 225. Account data for a givenuser can include information that a user expressly identified and/orinformation automatically collected or inferred. Account data can, forexample, identify which channels the user or one or more devices of theuser is subscribed to, a prioritization (e.g., ranking) of each of oneor more channels and/or presentation and/or distribution specificationsfor each of one or more channels or for all channels (e.g., indicatingwhen content items are to be received). Account data can also oralternatively include, for example, information identifying channelpreference (e.g., amongst those subscribed to or generally), pastchannel-related actions, past merchant-related interactions, a currentlocation, calendar data and/or a predicted location. Account data can beused to generate a content item for the user, select a content item forthe user (e.g., amongst a set of items associated with a channel),select a channel, select a distribution time, etc.

In some instances, a channel distribution engine 230 can select one ormore content items associated with a channel and transmit the contentitem(s) to each of one or more user devices (associated with a samesubscriber to the station or with multiple subscribers). Thus, it willbe appreciated that one or more content items can be simultaneouslytransmitted to devices of multiple subscribers or transmission can occurat different times. In some instances, content items that aretransmitted to different devices (e.g., different devices associatedwith a same user and/or devices associated with different users). Forexample, Device A of User A may receive content items A and B of achannel, Device B of User A may receive content items A and C, andDevice C of User B may receive content items B and D. The selection ofwhich content items to transmit can depend on data associated with agiven user and/or device.

In some instances, in addition to or instead of transmitting contentitems, channel distribution engine 230 transmits a rule for generating acontent item for a channel. In some instances, portions of content itemsthat can be used to build a content item are transmitted. For example, atemplate can be transmitted, which a user device can build uponaccording to a rule.

Referring next to FIG. 3, a block diagram of an embodiment of a userdevice 120 is shown. It will be appreciate that in some embodimentsdepicted components or a part of each of one or more depicted componentscan instead be present, e.g., in the cloud, as part ofelectronic-channel management system and/or as part of a publisherdevice.

User device 120 includes a receiver/transmitter 305, which cancommunicate with electronic-channel management system 150, one or morepublisher devices 110 and/or one or more merchant devices 130.Receiver/transmitter 305 can receive and/or transmit account dataassociated with device 120 and/or a user of device 120. An account datastore 310 can include general data pertaining to a user, general datapertaining to device 120 and/or channel-specific data. Account data caninclude data related to device 120 (and/or a user thereof) received fromanother device and/or locally detected or inferred data related todevice 120 (and/or a user thereof). For example, a user characterizer310 can monitor a user's interactions with a device (e.g., appexecution, submitted queries, or times of input), retrieve locallystored data (e.g., calendar data) and/or detect sensor readings (e.g.,identifying a location of a device and/or screen activity).

Account data can identify, for example, a user's age, residential city,occupation and/or grade level, hobbies, and/or interests. Account datacan also identify a user's or device's channel subscriptions and/orchannel prioritizations. For each channel or across channels, accountdata can include statistics regarding content-item viewing (e.g., whichitems were viewed, start times of display sessions, durations of displaysessions). For each channel or across channels, account data can includeidentifies or characteristics of content items for which the userrequested a destination, that the user saved, that the user shared, thatthe user printed and/or that the user otherwise interacted with. Accountdata can include statistics related to, for example, destinationrequests, saving, printing and/or sharing (e.g., a count or frequencyper channel or per content-item characteristic, such as promotionalcontent items). Account data can further include external-based dataand/or information regarding purchases, merchant visits, redemptions ofoffers (e.g., presented on content items), geographic location, calendarappointments or events, app executions, downloaded apps, and so on.

Receiver/transmitter 305 can also transmit partial or full content itemsand/or rules for content-item generation, any or all of which can bestored in association with a corresponding channel identifier in achannel content item data store 320. The partial or full content itemsand/or rules can include those provided by and/or at least partlydefined based on input from a publisher of a channel. In some instances,a rule and/or partial content item is modified by a user of device 120and/or based on a device-specific or inter-device learning technique(e.g., to increase user interaction).

In some instances, a content-item generator 325 can generate one or morecontent items for a channel. The content item(s) can be generatedaccording to a defined rule. For example, text or a number can bedetermined based on user data and/or context data, and the text ornumber can then be inserted into a template content item. As anotherexample, a locally stored image can be inserted into a content-itemtemplate. As another example, a background color of a content item canbe set to a color which has been associated with a highest frequency ofuser interactions. As another example, a URL from a set of URLs can beselected based on a time of day, and data from the selected URL can bepart of a content item. The generated content item can, in someinstances, also be stored in channel content item data store 320.

As mentioned, a content item generation can depend on a context (e.g.,of a user or device). A context detector 330 can detect characteristicsof a current context or predict a future context. A context canindicate, for example, a geographical location; a time (which caninclude a date, day of week or season); a weather characteristic (e.g.,temperature, precipitation occurrence or probability, and/or cloudcover); an event or appointment; inferred, known or predicted activity;motion (e.g., whether a device is stationary, whether it is estimatedthat a user is walking, whether it is estimated that a user is runningor biking or whether it is estimated that a user is traveling in avehicle); and/or a functional location (e.g., a room of a house; or workor home). In some instances, a context reflects an inferred or predictedobjective or mindset of a user (e.g., whether a user may be interestedin visiting a store in the near future, whether a user is interested inmaking a service or product of a particular kind, etc.).

Context detector 330 can detect, infer or predict a context based on,for example, user input (e.g., responsive to questions requestinginformation, such as a default profile-defining question, a questionfrom a publisher of a channel or a question presented in a channelcontent item), one or more readings from each of one or more sensors ona device, data received from another device (e.g., data received fromelectronic-channel management system, data received from an externalsource or website, and/or data from a merchant device identifying recentactivity associated with the user device or associated user), and/orlocally stored data (e.g., calendar data).

A state detector 335 can identify a state of device 120. The statedetection can include identifying one or more current states of thedevice and/or determining whether the device is in each of one or moreparticular states. In one instance, state detector 335 can detectwhether device 120 is in a channel state.

The device may be in a channel state, for example, when it is device isable to receive one or more channel content items (e.g., connected to anetwork) and/or when one or more item-receipt preconditions aresatisfied. A condition can require, for example, that a CPU usage bebelow a threshold, that a screen be locked, that input has not beenreceived for a period of time, and/or that a current time is within adefined timer interval. A definition for the channel state, in someinstances, can vary across channels. Upon detecting that a device is ina channel state, state detector 335 can initiate a process by whichchannel content items are received from a source (e.g.,electronic-channel management system or merchant device). For example,state detector 335 can cause a request (e.g., with a device and/or useridentifier and/or one or more channel identifiers) for content items tobe sent to a source. As another example, state detector 335 can initiateformation of a connection between device 120 and a source.

State detector 335 can also or alternatively detect when device 120 isin a channel display state. The device may be in a channel displaystate, for example, when it is device is able to present (e.g.,visually, audibly and/or haptically) one or more channel content items(e.g., connected to a network) and/or when one or more displaypreconditions are satisfied. For example, a device can enter a displaystate upon detecting inactivity (e.g., lack of touches, selections,button presses, keystrokes, being on a phone call, and/or voicecommands) for a defined period of time, detecting a particular input(e.g., pressing a specific function key), detecting a termination of acall or video, detecting a device movement (e.g., moving a device awayfrom a user's head) or position, etc. A second condition can cause adisplay to end or to be suspended. For example, a device can suspend adisplay state upon detecting user input (e.g., any screen touch, optionselection, button press, keystroke and/or voice command), detecting anincoming call or message (e.g., SMS message), detecting a devicemovement or position, detecting a particular input (e.g., pressinganother specific function key), etc. In some instances, a same orsimilar occurrence can prevent a device from entering a display state.

When state detector 335 detects that device 120 is in, is enteringand/or is about to enter a display state (e.g., which may be detectedupon detecting a period of inactivity slightly below that in adisplay-state precondition), a content item identifier 340 can selectone or more content items to be presented via an interface on device120. In some instances, content item identifier 340 can select a contentitem from channel content items data store 320. In some instances,content item identifier 340 can request that content-item generator 325generate a new content item.

Which item is selected can depend, for example, on a prioritization (orranking) of channels associated with device 120 or a corresponding user,a prioritization (or ranking) of content items (e.g., as identified by acorresponding publisher) within a channel, a current contextcharacteristic, a predicted further context characteristic, a userpreference, a pseud-random element, and/or an empirical (e.g.,cross-user) statistic for one or more content items (e.g., indicating aportion of presentations followed by a user action). A prioritization ofchannels and/or content items can be specific to items and/or to itemcharacteristics (e.g., prioritizing sports channels over news channelsor prioritizing discount content items over information content items).A prioritization of channels and/or content items can be based on, forexample, input (e.g., from a user of a particular device, from one ormore other users, and/or from one or more publishers), a user-specificor cross-user learning algorithm (e.g., that identifies item typeslikely to lead to user actions), channel characteristics (e.g., whetheran associated publisher is associated with a more expensive or higherquality membership than another publisher), and/or acontent-item-presentation history. A prioritization can be static or canchange in time and/or based on context.

In some instances, content item identifier 340 selects one content itemat a time. Each content item can be selected according to anabsolute-time or functional-time protocol. For example, a new contentitem can be selected upon an end of each content-item presentation, or anew content item can be selected every 10 seconds while in a displaystate. In some instances, following (e.g., immediately following) aselection of a content item, the content item is presented. In someinstances, upon selecting a content item, the item is added to apresentation queue (e.g., at a bottom of the queue).

In some instances, content item identifier 340 can select a group ofcontent items. One, some or all of the content items in the group ofcontent items can be, for example, ordered and added to a queue. Thegroup can include content items corresponding to a single channel or tomultiple channels. A number content items to be selected by content itemidentifier 340 can be fixed or can vary depending on, for example,presentation durations of particular content items, a size of apresentation queue, a connection strength, a content-item sequenceidentified by a publisher, and/or a time of day. For example, the groupcan include a sufficient number of content items to correspond to agroup-total presentation duration of one minute.

User device 120 can include a content item sequencer 345. Content itemsequencer 345 can assess and/or identify an order for presentingmultiple content items. In one instance, content item sequencer 345 canevaluate one or more content items previously presented or queued to bepresented. This evaluation can include, for example, identifying anumber (or total duration) of content items associated with eachchannel, a number (or total duration) of content items associated with acategory or characteristic (e.g., including a discount), a variabilitywith regard to content items' channels, categories or characteristics,and/or whether a recently presented or queued content item is part of apublisher sequence. Based on the evaluation, content item sequencer 345can identify a particular content item, a content-item category or acontent-item characteristic for a content item to be presented or queuedin the future (e.g., next, following the next item, etc.). Thus, in someinstances, content item sequencer 345 can identify a constraint for aselection of a content item.

For example, content item sequencer 350 can identify that 10% of contentitems presented in the last five minutes were discount content items.Meanwhile, a protocol (e.g., as determined based on user input, channeldefinition, and/or a learning algorithm) can indicate that 20% of thecontent items are to be discount content items. Thus, content itemsequencer 345 can determine that a content item to be selected forupcoming presentation can be a discount content item and/or that theselection can be biased towards discount content items. Thus, contentitem sequencer 345 can interact with content item identifier 340 duringa content-item selection and/or content item sequencer 345 can evaluateand/or order content items already selected (e.g., and queued) bycontent item identifier 340.

In one instance, content item sequencer 345 evaluates a set of contentitems for actual or potential presentation. For example, content itemidentifier 340 can select a set of 15 content items for presentation andcan add them to a queue (e.g., in an unordered fashion). Content itemsequencer 350 can then order the content items for presentation. Thisordering can be performed in part or in full by identifyingcharacteristics of the specifically selected content items. The orderingcan be performed to, for example, identify higher priority content itemsand bias the ordering towards early presentation, bias towardssequential presentation of same-channel content items, bias towardschannel variability (e.g., towards high channel entropy) and/or biastowards category or characteristic variability (e.g., towards highcategory and/or characteristic entropy). For example, if three contentitems were selected—one being informational and two identifyingdiscounts, content item sequencer 345 may order the informationalcontent item between the discount content items.

Ordering the content items can include placing content items in a queueand/or generating or modifying a playlist. In some instances, a contentitem is selected, ordered and/or queued in real-time and/or when device120 is in or is about to enter a display state. In some instances, theselection is made in advance.

An item presenter 350 can then present a selected, ordered and/or queuedcontent item. The presentation can occur when device 120 is in a displaystate. In some instances, one content item can be presented at a time.Which content item is presented can be determined based on anidentification made by content item identifier 340, a position of one ormore content items in a queue, and/or a sequence (or order) forpresentation as identified by content item sequencer 345. Item presenter350 can, for example, continue to present content items so long device120 is in a display state (e.g., until state detector 335 detects thatdevice 120 is no longer in a display state). For example, state detector335 can detect that device 120 is no longer in a display state upondetecting particular input types (e.g., those not associated with anaction option for a content item, those associated with a particularcharacteristic or a particular keystroke).

Presenting the content item can include providing a visual, audio and/orhaptic stimulus. The presented stimuli can depend on and/or includethose defined by a publisher of a channel and/or associated with acontent item and/or those identified as a result of a rule. For example,a publisher or user can define a rule such that presentation of everydiscount content item (e.g., for a given channel) is to be accompaniedby a tone or that presentation of every high-priority content item is tobe accompanied by a vibrating stimulus.

One or more user-action options can be presented along with a contentitem. The actions may, or may not, differ across content items. Actionoptions can include an option to, for example, save a content item(e.g., to a local storage), print a content item, share a content item(e.g., via email, a social network, SMS message, etc.), visit adestination, locate a corresponding merchant location, view one or moreuser-review variables or text, and/or book an appointment (e.g., at amerchant location).

An interaction detector 355 can detect whether a user interacts with acontent item, can infer whether a user is viewing (or otherwisereceiving) a content item, and/or can detect whether a user has selecteda user-action option. For example, interaction detector 355 can monitora sensor reading (e.g., to estimate a device height, angle and/ormovement) to infer whether a user is viewing a screen of device 120. Asanother example, interaction detector 355 can monitor a camera feed todetect whether a user is in front of and/or looking at a screen ofdevice 120. As yet another example interaction detector 355 can detectwhether a user input corresponds to selection of an action option (e.g.,by touching or clicking on a particular screen location, making aparticular gesture or voicing a particular voice command).

In some instances, detection of a particular action can influence whatis subsequently presented. For example, presentation of a first contentitem may be followed by presentation of a second content item unlessdevice 120 is no longer in a display state or a user action is detected.In the latter case, a presentation following the first-item display cancorrespond to the action (e.g., to allow a user to identify who an itemis to be shared with, to interact with a destination website, toidentify a saving location, etc.).

Interaction detector 355 can store data corresponding to interactionsand/or cause such data to be transmitted (e.g., to electronic channelmanagement system 150 and/or one or more publisher devices 110). Thedata can include, for example, an identifier of a channel, an identifierof a content item, an identifier of whether it was inferred that a userwas viewing the item, an identifier of whether a user selected anaction, an identifier of which action(s) were selected, a time (whichcan include a day and/or date) at which a content item was presented, anidentifier of a user device on which the item was presented, and/or anidentifier of a user associated with the device.

In some instances, data detected by interaction detector 355 caninfluence subsequent content-item identifications and/or generations.For example, if a user frequently shared content items associated withrestaurant channels, content item identifier 340 could adjust an itemselection technique to increase selection of content items fromrestaurant channels. As another example, if a user frequently savedchannel items with discounts of 15% or more, content-item generator 325could adjust its generation techniques to be biased towards discounts ofthis type.

In some instances, detected interactions are associated with contextdata and/or sensor data, such as a time of day, location (e.g.,absolutely or relative to one or more merchant locations) and/or timeinto a display state. Item selection and/or generation can then beupdated not only based on the detected interaction (or lack thereof) butalso on the sensor or context data.

It will again be appreciated that one or more the depicted components ofuser device 120 (or a part thereof) may instead or additionally bepresent on another device, such as a server or publisher device. Forexample, electronic channel management system 150 can include acontent-item generator 325, which can generate one or more content itemsfor all users, a group of users (e.g., sharing a characteristic, such asa channel ranking and/or interaction characteristic) or a specific user.

FIG. 4 shows a flow diagram of a process 400 for displaying of achannel's content items on a user device according to an embodiment ofan invention. Various portions of process 400 can be performed by a userdevice, and other portions can be performed by another device, such as aserver, electronic channel management system or publisher device.

Process 400 begins at block 405 where a user device sends a channelsubscription request. The request can be automatically sent, e.g., inresponse to the user device scanning or otherwise detecting a channelidentifier, such as a QR code, bar code or near-field communicationcode. In some instances, such code includes an identifier of a channel,and either the code or other information accessible to the user deviceindicates where the request is to be sent. For example, the user devicemay already include instructions pertaining to access to and interactionwith a channel management system (e.g., that identifies an IP address,email address, phone number or other destination identifier). As anotherexample, a scanned code can identify an identifier of a publisher deviceor other channel-associated device. The subscription request can includean identifier of the device and/or of an associated user. Thesubscription request can include an IP address, an identifier of a typeof the user device (e.g., a mobile device, laptop or desktop computer),an identifier of an operating system on the user device, an identifierof a channel-management app on the user device, and/or one or more userpreferences. The subscription request can correspond to a request toreceive channel content items for a particular channel.

In some instances, upon scanning a code or otherwise identifying achannel via a user device, channel-identifying information is presentedto the user along with an option to send the subscription request (e.g.,as well as subscription-customization options, such as identifyingcontent item categories of interest or content-item transmissionfrequencies). Selection of the option can correspond to the subscriptionrequest.

In some instances. the request can be sent to a remote device, such as aremote publisher device or server. In some instances, the request can besent to a nearby device, such as a device presenting a code (e.g., amerchant terminal). The request can be sent over a network, such as theInternet, and/or via short-range communication. To send the request, theuser device can, for example, access an application (e.g., a webbrowser, a software “app” on a mobile device) to communicate with thereceiving device.

The subscription request is received at block 410. FIG. 4 shows therequest as being received by a server. It will be appreciated that therequest can be received by a variety of devices, such as an electronicchannel management system, remote publisher device, local merchantdevice or other channel-associated device.

In some instances, the receiving extracts data from the subscriptionrequest (e.g., a user or device identifier) to search for a user or userdevice profile amongst a set of profiles. When no profile is found, anew profile may be generated. Profile data can be based on inputsreceived from the user (e.g., during a request for the channel serviceor a subscription request), automatically detected data (e.g., detectedfrom a subscription request), and/or data retrieved from another server(e.g., a social networking server). The server can then associate theidentified or retrieved profile with the channel associated with thesubscription request. In some instances, the server also assigns apriority to the channel or ranks the channel amongst other channels thatare associated with the profile (e.g., based on data in the requestprioritizing the channel, identifying interests, historicalchannel-interaction data associated with the user or user device, etc.).

At block 415, one or more content items can be transmitted to the userdevice, and at block 420, the one or more content items can be receivedby the user device. The one or more content items can correspond to thechannel associated with the subscription request. One or more contentitems for one channel may, or may not, be transmitted to the user devicealong with one or more content items for another channel. The one ormore content items may, or may not, correspond to content items of aparticular type, being associated with a particular category or having aparticular characteristic.

For each of the one or more content items, in some instances, adestination or destination-request option can be transmitted. Forexample, a destination URL can be transmitted and associated with acontent item. As another example, a region of an image can be identifiedas corresponding to a destination option (e.g., such that a device is tobe routed to a destination upon a touch of or click on the region). Foreach of the one or more content items, in some instances,identifications of action options to be presented with the item are alsotransmitted. For example, information can indicate that a content itemis to be presented with a locate option to find a nearby storecorresponding to a channel and a calendar option to make an appointmentat a store (e.g., along with default action options, such as sharing,saving and printing).

The transmission can occur at particular absolute or functional times.For example, the transmission can occur at a particular time each day orweek (e.g., as defined by a channel publisher or a manager of achannel-managing system). As another example, the transmission can occurupon detecting a threshold number of new content items (e.g., associatedwith a channel or associated with a combination of channels that a userdevice or corresponding user is subscribed to). As yet another example,the transmission can occur upon receiving a transmission instructionfrom a publisher device.

In some instances, the transmission can occur upon receiving acontent-item request from the user device. Such request can be sent, forexample, upon detecting that the device has or is about to enter adisplay mode (e.g., determining that the device has been inactive for atime period of four minutes, while entering a display ode requiresinactivity for five consecutive minutes), detecting a user inputrequesting content-item transmission, detecting that a threshold numberof locally stored content items (generally or for a particular channel)have been presented or presented a threshold number of times, detectingthat an average (or median or mode) presentation count for content items(generally or for a particular channel) have been presented at least athreshold number of times, detecting that a time corresponds to auser-defined content-item receipt time, etc. In some instances, multiplecondition satisfactions are to be detected before a content-item requestis sent and/or content items are transmitted.

At block 425, the user device detects an event corresponding to entryinto a display state. For example, when the event includes somepredetermined amount of time and/or time period of inactivity at theuser device, the user device may enter a display state. The inactivityat a device can include a lack of interaction between a user and a userdevice, including key strokes, cursor movements, selections, dragging,tapping, and/or clicks. In another example, the inactivity can includeidentifying when particular programs or software applications are notactive (e.g., video conference call, teleconference call, streamingmedia) to help ensure that the device is idle or otherwise less used fora particular amount of time. In another example, an event correspondingto entry into a display state may be termination of a phone call on amobile phone, or connection of a power charging device to a mobilecomputing device.

The predetermined amount of time of inactivity at the user device caninclude a predetermined amount of time, such as 10 seconds, 30 seconds,1 minute, 3 minutes or 1 hour. In some examples, the time period can bespecified based on settings on the user device (e.g., power-savingsettings) or based on global or specific channel data (e.g., a servercan define that the time period is 1 minute, or a user can enter inputspecifying a time after which channel content items should bedisplayed). In some examples, the predetermined amount of time caninclude the amount of time after an activity or event has ended (e.g.,presentation of content items could begin after a call has ended on amobile device).

In another example, the event can correspond to the user's request toenter a display state. In some embodiments, when the user device is adesktop or similar device associated with a keyboard I/O device, theuser device may enter a display state in response to an interaction. Forexample, the interaction may include a selection of a predefined key,such as an F10 key to enter the display state, and an F9 key to exit thedisplay state. In some embodiments, the user may press Alt-Tab toactivate a graphical user interface (GUI) that allows the user toprovide commands to enter and ESC to exit the display state through theGUI.

At block 430, the user device selects an item to present. In oneinstance, the selection is based on a queue or playlist that identifiesan order for presenting content items. A queue or playlist can beintra-channel and/or inter-channel. For example, a playlist can includean ordered list of content-item identifiers where the identified contentitems are associated with multiple channels. The user device can thenselect an item from a beginning or end of the list or an item associatedwith a particular absolute or functional time. As another example, eachchannel that the user device is subscribed to can be associated with anintra-channel playlist that orders content items within the channel. Aninter-channel playlist can identify a sequence or protocol for selectingbetween content items. The user device can first determine which channela content item is to correspond to (e.g., by identifying a channelidentifier in the inter-channel playlist that is at the beginning or endof the list or associated with a particular functional or absolute time)and can then select a content item for the channel using the appropriateintra-channel playlist.

In some instances, the generation of a playlist or queue and/or anothertechnique for selecting a content item can evaluate one or more locallyor remotely stored content items based on one or more factors. Forexample, a factor can include a ranking of an associated channel (e.g.,as identified by a user or learned based on user interaction behaviors).

In some instances, evaluating content items can include biasing orrestricting a selection or inclusion in a queue or playlist towardscontent items having a particular characteristic. The characteristicscan include, for example, a temporal characteristic, such as anindication that the content item was recently received from the serveror recently received at the server from a publisher. Another temporalcharacteristic can include an indication that an event or expirationtime associated with the content item is approaching (e.g., less than adefined time interval away or is within a defined time period from anevent time).

In some instances, a calendar associated with a user or user device isidentified, and an upcoming appointment or event is identified on thecalendar. An item selection can then be biased towards items associatedwith the appointment or event (e.g., to show items from a channelassociated with the appointment or event and/or to show items associatedwith a location near a location for the appointment or event).

In some instances, a content-item selection can be based on sensor data.For example, an item selection can be biased to show content itemsassociated with a location near an estimated location of the user (e.g.,estimated based on device-received GPS or access-point signals).

At block 435, the user device presents the selected content item. Thecontent item can be visually displayed (e.g., in a full-screen mode orin a part of the displayed) and/or displayed in other modalities (e.g.,audibly). In some instances, one or more action options (e.g., defaultaction options and/or ones associated with the item) are presented alongwith the content item. In some instances, action options are notexpressly presented, though the option of particular options remain(e.g., where a particular input corresponds to a request to visit adestination even if no explicit indication is provided identifying theoption).

The content item can be presented for a particular duration, which canbe set for a given channel or across channels and/or which can bedefined by a user or publisher.

At block 440, the user device determines whether a second eventcorresponding to the end of the display state is detected. The secondevent can correspond to receipt of user input or receipt of specificuser input (e.g., not associated with channel-item user options). Insome instances, the second event can correspond to a receipt of userinput corresponding to a user action (e.g., corresponding to a requestto visit a destination). In some instances, the second event correspondsto being in a display state for a threshold period of time (e.g.,generally or without detecting any interaction).

When a second event is not detected, process 400 returns to block 430where another content item is selected and presented. When a secondevent is detected process 400 continues to block 445 where display ofchannel content items is ceased. Process 400 can subsequently return toblock 420 to receive one or more content items and/or to block 425 todetect an event corresponding to entry into a display state.

Additional detail about electronic channels are disclosed in U.S.application Ser. No. 14/256,785 (filed on Apr. 18, 2014), Ser. No.14/101,056 (filed on Dec. 9, 2013), Ser. No. 14/101,103 (filed on Dec.9, 2013) and 61/908,899 (filed on Nov. 26, 2013). Each of theseapplications is hereby incorporated by reference in its entirety for allpurposes.

Content items can be presented in an interactive manner, whereby userinteractions can influence what material is presented. In one instance,the effect of an interaction can be differentially defined forindividual content items. FIG. 5 shows flow diagram of a process 500 fordisplaying interactive channel content at a user device according to anembodiment of the invention. Part or all of process 500 can be performedby a user device, server, publisher device and/or electronic channelmanagement system.

Process 500 can begin at block 505 where a content item is receivedalong with an identifier of a destination. In some instances,information is also transmitted that indicates what user action is tocorrespond to a request to visit a destination. For example, theinformation can identify a portion of a content item or icon, whereselecting, clicking on or touching the portion or icon is to correspondto a destination request. As another example, the information canidentify a keystroke that is to correspond to a destination request. Inone instance, multiple destination identifiers are received and/orinformation that defines what is to constitute a request to visit thedestination can be received for one or more of the destinationidentifiers.

The identifier of the destination can include, for example, part or allof a webpage identifier or URL and/or an identifier of another channelcontent item. In some instances, the identifier of the destination caninclude the destination itself. For example, a content item can betransmitted along with text that is to be presented (e.g., identifyingstore locations, phone numbers and/or hours) upon selection of theoption.

At block 510, the content item is presented. The content item can bepresented along with an express or implicit additional-informationoption. For example, a visual indicator (e.g., a graphic or text) can beoverlaid on or presented next to a content item. As another example, apart of the content item can identify the additional-information option(e.g., “Click here to answer survey for 5 reward points” or “Identifyyour type of pet: dog, cat or bird”). As yet another example, no visualindicator or audio indicator may be presented to expressly identify theadditional-information option, though particular input can nonethelessbe interpreted as requesting the additional information. (The input canbe identified, for example, on a channel-management screen or helpscreen.) In some instances, multiple additional-information options arepresented (e.g., each associated with a different icon or text).

At block 515, a selection of an option is detected. For example, theselection can correspond to touching or clicking on a portion of adisplay screen, entering a particular keystroke, making a particulargesture, and/or speaking a particular voice command.

At block 520, it can be caused for information from the destination tobe displayed. Displaying information from the destination can includerouting a user device to a destination and/or retrieving destinationcontent (e.g., from a local or remote data store). In some instances,displaying information from the destination includes displaying anothercontent item (e.g., that may replace part or all of the presentation ofthe content item or can be overlaid on the presented content item).

In some instances, presented destination information is customized for auser or user device. For example, a destination webpage can beprepopulated based on data in a profile of a user. As another example, adestination that enables a user to schedule an appointment can becustomized to identify appointment openings that do not conflict withappointments and/or events in the user's calendar. As yet anotherexample, products presented in a destination content item and/or webpagecan be selected based on interests of the user.

In some instances, a content item identifies one or more items availablefor purchase. For each item, a name, picture, description, and/or userreview can be presented for example. An option can be presented inassociation with the item that, if selected, is associated with adestination indicative of a user request to order the item. In oneinstance, the option includes an ability to specify a quantity, color,size or other item characteristic. In some instances, a user account caninclude, for example, payment information, shipping information and/orbilling information, such that the order can be completed while in thedisplay state.

FIG. 6 shows flow diagram of a process 600 for customizing channelcontent items for a user or user device according to an embodiment ofthe invention. Part or all of process 600 can be performed by a userdevice, server, publisher device and/or electronic channel managementsystem.

Process 600 begins at block 605 where user profile input correspondingto profile data is received. Profile information can be received, e.g.,while a user is signing up with a channel service, while a user issubscribing to a channel and/or at another time. Profile information caninclude that is required or optional in order for a user device toreceive channel content items in general, for a particular channel or ofa particular type. Profile information can be received followingpresentation on a user device of a request for the information. Therequest can be accompanied, for example, with text boxes, radio buttons,drop-down menus, and so on such that the user can identify theinformation. In some instances, some or all profile information isretrieved from a social network account or other account.

Profile information can include, for example, a user's name, residentialaddress, occupation, email address, hobbies, interests, age, gradelevel, income, education level, political affiliation, religiousaffiliation, and/or membership identifications. In some instances, atleast some default profile information is received while a user issigning up for a channel service. While or after a user is subscribingto a particular channel, additional profile information can be received.In some instances, a publisher can identify profile information that isto be required or optional. Responses to the request can be stored in ageneral user profile (though, in some instances, publisher access to theinformation can be limited), stored in a channel-specific orpublisher-specific profile and/or transmitted to a publisher device.

At block 610, user subscription input corresponding to a request tosubscribe to one or more channels is received. The subscription inputcan thus identify one or more channels. In some instances, thesubscription input (or other subscription-related input) can identify apriority and/or ranking of each of one or more channels. In someinstances, the subscription input identifies subscription preferences orconstraints. For example, a user may subscribe to a cooking channel butcan indicate that she is only interested in receiving recipes and photosassociated with low-fat food.

At block 615, user interaction input corresponding to an interactionwith one or more selected content items is received. The interaction caninclude, for example, saving a content item, sharing a content item,printing a content item, requesting a destination associated with acontent item, requesting to schedule an appointment and/or requesting tolocate a merchant location associated with a channel. In some instances,the request can cause additional content to be presented. For example, anew content item can be presented or a webpage can be presented. In someinstances, the interaction includes a response to a question presentedon a content item. The fact that the user provided any interaction maycorrespond to a particular answer (e.g., “Click here if you areinterested in buying a new car.”) or an answer can be determined basedon, for example, a screen portion selected or touched.

At block 620, merchant activity data corresponding to reported userpurchasing activity is received. Merchant activity data can indicate,for example, that a user visited a merchant location, bought a productand/or attended an appointment. Merchant activity data can identify aproduct or service purchased, information provided at the appointment, atime of a visit, a location of a merchant visited, an identifier of auser and/or an identifier of a user device. In one instance, a userdevice can interact with a merchant device (e.g., via a short-rangecommunication and/or by the user device scanning a QR code andsubsequently transmitting data), such that the merchant device canautomatically detect the user device and/or user.

At block 625, calendar data from a calendar associated with the user oruser device is accessed. The calendar can include on stored locally on auser device, one associated with a channel account of a user, oneassociated with a particular channel and the user and/or user device.Calendar data can indicate when a events and/or appointments arescheduled and/or when availability time slots are. In some instances,appointment and/or event details are identified. For example, the datacan identify a location of an appointment or event and/or a company orperson associated with the appointment or event (e.g., one providing aservice as an appointment). In some instances, the calendar data canidentify a channel associated with an appointment or event.

At block 630, location data indicative of a location of a user device isreceived. For example, a device can transmit its location every time itenters a display state, at prescribed times or timer periods, and/orupon receiving a request for location information. The location can bedetermined based on, for example, GPS or access-point signals or networkconnectivity (e.g., to determine whether a device is connected to a homenetwork or to a work network or to another network).

At block 635, a user account is updated based on one or more of theinputs and/or data. For example, the account can be updated to includesome or all of the information associated with the input and/or datareceived or accessed at one or more of blocks 605-630. The account canfurther be updated to associate such information with a time (e.g., atime at which associated input was received or data accessed or a timeat which the update is occurring).

At block 640, content-item presentation is influenced based on the useraccount data. For example, generation of or selection of a content itemcan be influenced. In one instance, a content item is generated ormodified to include some of the collected. For example, a modified orgenerated content item can be modified to include a user's name,residential city and/or an interest of a user. In one instance, text oran image to be included in a content item is determined based on theaccount data. For example, a select product, a representative menu item,a discount amount, an opportunity date or date range (e.g., for adiscount), and/or a recommended appointment or reservation time can beselected based on the data and pictorially or textually presented withina content item to the user.

FIG. 7 shows flow diagram of a process 700 for receiving information viaa content-item interaction according to an embodiment of the invention.Part or all of process 700 can be performed by a user device, server,publisher device and/or electronic channel management system.

Process 700 begins at block 705 where a question is received from thepublisher. The question can be one to pose to a user. The question caninclude one or more potential answers or answers may not be soconstrained. A channel identifier can be received along with orotherwise associated with the question. In some instances, the questionis received with or otherwise associated with a presentation condition,such as an identification of a characteristic of a user for which thequestion is suitable. The question can be of any form wherebyinformation is requested. For example, the question may include aquestion mark or can include a request (e.g., please identify . . . ).

At block 710, a content item can be generated to include the question.For example, a visual presentation of the question can be added to acontent-item template. In some instances, an identification of each ofone or more potential answers is also presented. As one example,different potential answers can be presented in different portions of ascreen, and an interaction associated with a particular portion can beassociated with the corresponding answer. As another example, thecontent item can identify a particular interaction type associated witheach potential answer. In some instances, information as to how aninteraction is to be mapped to an answer is presented (e.g., “Click hereif . . . ”).

In one instance, the content item can indicate that a user can respondto a question by visiting a destination. For example, a content item canstate: “Click here to provide details as to the pet(s) that you own.” Acorresponding action may direct a user device to a webpage whereinformation can be provided. In some instances, the content item canindicate or it can otherwise be conveyed that interacting with thecontent item in a manner that provides an answer to a question willresult in an award of a quantity of reward points. The reward points canbe fixed, defined by a publisher, defined on a user characteristic(e.g., how frequently she has interacted with content items in the past,etc.).

The generated content item can be presented on one or more user devices,such as one, some or all devices of subscribers to a channel associatedwith the publisher. At block 715, user interaction with the content itemis detected. The interaction can correspond to a request to visit adestination. The user interaction can correspond to receipt of input ata device of a user.

At block 720, the interaction can be mapped to an answer. In oneinstance, any interaction corresponds to a single answer. In oneinstance, any interaction associated with a particular interaction type(e.g., clicking on a content item) corresponds to a single answer. Inone instance, an answer is determined at least in part by associatingthe interaction with a portion of the screen. In one instance, theanswer is determined based on input provided after an initialinteraction. For example, the initial interaction may direct a userdevice to a destination at which the answer can be identified by theuser.

At block 725, an account associated with a device corresponding to thedetected user interaction can be updated based on the answer. Theupdating can include identifying the question, identifying a fieldassociated with the question and/or identifying the answer. The updatingcan further include identifying the publisher (and/or an associatedchannel) associated with the question. In some instances, the useranswer it transmitted to or otherwise made accessible to the publisher.In some instances, answer data is collected for a set of users ordevices and transmitted to or otherwise made accessible to thepublisher.

At block 730, a subsequent channel presentation can be customized basedon the answer. For example, a content-item generation and/or selectioncan be customized.

To illustrate, a publisher can be associated with a real-estate channel.The publisher can submit one or more house-searching questions, such as:“Click here if you are searching for a house near [auto-detectedlocation]” or “Select a minimum number of bedrooms”; or “Visit ourwebpage to identify your house-searching budget goals”. Answers can beidentified for particular users, and real-estate data stores can besearched using the appropriate criteria. Content items for thereal-estate channel that are presented to a user can be restricted to orfocused to houses that meet the criteria as specified in answersprovided by the user.

FIG. 8 shows flow diagram of a process 800 for distributing user dataaccording to an embodiment of the invention. Part or all of process 800can be performed by a user device, server, publisher device and/orelectronic channel management system.

Process 800 begins at block 805 where user data associated with a firstchannel is identified. The user data can be associated with a firstchannel, for example, due to an entity of the first channel being atleast partly responsible for collection of the data. For example, thefirst channel can be associated with data for which a merchant devicecorresponding to the first channel provided the data (e.g., indicatingthat the user was at a merchant location at a particular time). Asanother example, the first channel can be associated with data for whicha publisher (or other entity) for the channel at least partly defined aquestion that, when presented, prompted the user to provide the data Asyet another example, the first channel can be associated with dataindicating that the user has or had an appointment with a merchantassociated with the first channel at a particular time.

At block 810, an indication can be received that the user data is to bemade accessible to an entity associated with a second channel. Forexample, two channels can be associated with a data-sharing relationshipindicating that they are to share some or all user data associated withtheir channels. As another example, an entity associated with the secondchannel may pay the first channel for access. As yet another example,the first and second channels may be associated with a same publisherand/or merchant.

At block 815, access to the user data can be selectively granted todevices associated with the first and second channels. Thus, the userdata need not be made available to all publishers or to devicesassociated with all channels. Granting access to the user data caninclude presenting the user data, transmitting the user data and/oravailing the user data for searching. For example, granting access caninclude allowing a publisher to search for users with user dataidentifying a particular characteristic and/or allowing a publisher toidentify a rule (e.g., for content-item generation and/or content-itemselection) that depends on information in the user data.

A degree of access granted to devices of the two channels may be thesame or may differ. For example, user names and/or other specificidentifiers (e.g., email address, phone number and/or address) may beobscured or made unavailable to a device of the second channel but notto a device of a first channel. In some instances, the indicationreceived at block 810 identifies specifics about the degree of access tobe granted to the device of the second channel.

FIG. 9 shows flow diagram of a process 900 for generating a customchannel content item according to an embodiment of the invention. Partor all of process 900 can be performed by a user device, server,publisher device and/or electronic channel management system.

Process 900 begins at block 905 where a content-item template isidentified for a channel. The template can include one uploaded by orselected by a publisher and/or a default template. The template caninclude, for example, a background, a channel identifier, one or moregraphics, etc. In some instances, the template includes text and/or textwith empty fields. The template can include one or more portionsconfigured to be customized. A portion can be associated with a spatialor functional part of the content item. For example, a portion caninclude a part of a text to be customized, or a portion can include ageometric portion of a display to be customized.

To illustrate, a template content item can include: “[User name]—It istime to schedule an appointment for [pet's name]. Schedule before [datethat is two days from now] for a [discount amount]% discount.” Thetemplate content item can further include a portion of the item to showa picture of the pet.

At block 910, one or more content-item generation rules can beidentified for the template. In some instances, the rule identifies howto identify data for a user and how to include the data in the template.For example, in the above example, the rule can identify account datathat identifies the pet's name, and can associate such data with thefield in the text “[pet's name]”. In some instances, the rule identifiesa selection to be made based on user data. For example, a discountamount can be 5% if a user's income is reported to be above $50,000 and10% otherwise. In some instances, the rule identifies another type ofrelationship. For example, a rule can indicate that a number ofpictorial people representations to be included in a content item is tobe the same as a number of people reported to be in a user's family. Insome instances, the rule can be associated with a template and/or isdetermined based on input received from a publisher (or other entityassociated with the channel).

At block 915, user data from a user account is accessed. The user datacan correspond to data used in the one or more identified rules.

At block 920, context data is identified. The context data cancorrespond to data used in the one or more identified rules. The contextdata can correspond to a context of a user (e.g., an identifiednear-term activity interest), a context of a user device (e.g., alocation of the device), a general context (e.g., a current time), acontext of a merchant location (e.g., a current menu option inover-supply), and so on.

At block 925, a content item can be generated using the template, ruleand one or both of the user data and context data. For example, the rulecan be evaluated using the user data and/or context data and thetemplate can be supplemented based on the rule evaluation. The ruleevaluation can include identifying content to add to the content itemand/or identifying an arrangement of content on the content item. Thegenerated content item can be transmitted to and/or presented on adevice (e.g., associated with the user data and/or context data).

FIG. 10 shows flow diagram of a process 1000 for processing a publisherrequest using user account data according to an embodiment of theinvention. Part or all of process 1000 can be performed by a userdevice, server, publisher device and/or electronic channel managementsystem.

Process 1000 begins at block 1005 where a channel-related goal isreceived. The goal can include a virtual visitation goal (e.g., that 100users select a channel destination to visit a webpage), physicalvisitation goal (e.g., that 40 people visit a particular retail locationassociated with a channel), sales goal (e.g., that 65 products or $500of merchandise is sold), redemption goal (e.g., that 5 people redeem achannel discount item) and so on. The goal can be associated with a timeperiod or time threshold. In some instances, the goal is associated witha conditional or unconditional payment (e.g., that already has been paidor will be paid if the goal is met).

At block 1010, one or more users can be identified based on theiraccount data (e.g., which can include any information associated with auser, including current or past context data and current or pastmerchant-related data). The users can be identified as part of a search.For example, the search can include searching for users currently nearor predicted to later be near a particular location (e.g., a predictionbeing made based on calendar events). The search can include searchingfor users who frequently redeem discount codes presented on channelcontent items. The search can include searching for users with aparticular demographic characteristic and/or interest. A parameter ofthe search can depend on the goal and/or on information pertaining tothe channel related to the goal (e.g., one or more merchant locationsand/or a type of product or service being offered for sale). The searchcan be biased towards and/or restricted to subscribers of the channeland/or can include non-subscriber users. The search can be biasedtowards and/or restricted to users with devices currently in a displaystate and/or can include other users.

A number of users identified can depend on fixed, user-specific orchannel-specific efficacy estimates. For example, it can be predictedthat presentation of a non-discount content item will result in 5% ofnearby users visiting a merchant location. If a goal is that 15 peoplevisit the location, 300 users could be identified.

In some instances, information about the identified users is transmittedto a publisher of the channel or an entity that submitted the search.The information can include an identifier of each user, a name of eachuser, a current or predicted location of each user, etc. In someinstances, some information about an identified user (e.g., their names)is not available to the receiving party unless the user is a subscriberto the channel.

At block 1015, one or more channel content items are transmitted todevices the identified users. Thus, in some embodiments, a device ofeach identified is the same, and in other embodiments, different contentitems can be sent (e.g., differing in a promotion, featured product orservice, or identified merchant location). The content item(s) can beassigned a high priority such that the devices present them quickly.Thus, for example, the priority can cause a receiving device to presentthe item before any other item or before any other item in a channel.The content item(s) can be associated with a presentation time (or timeperiod) or condition (e.g., within 50 feet from a merchant location).

The transmissions can be tracked. In some instances, further detail ismonitored, such as for which and/or how many users, the item waspresented and/or interacted with a specific or general manner. In someinstances, a merchant-related characteristic is further tracked for eachof one or more of the identified users. The merchant-relatedcharacteristic can include, for example, whether or which location auser visited, whether the user made a purchase, what was purchased, apurchase value, whether an appointment was made, etc. The tracked and/ormonitored information can be transmitted to a channel publisher and/orentity that submitted the search. Thus, process 1000 represents onetechnique by which channel-related information can be used to assist inachieving a channel-related goal.

FIG. 11 shows an example of a template of content item 1100 that can becustomized for a user or group of users according to an embodiment ofthe invention. In this example, the content item is for a channel of aparticular restaurant and includes text identifying a discount.

The template includes two portions that can be customized (e.g.,according to one or more rules associated with the template). First, thediscount is to be applicable to one of: a salad, a sandwich and a pastamenu item. Which of these three is to be selected for the discount candepend on data associated with a particular user and/or device.Particularly, the selection in this example is to depend on a user'spast purchases at a merchant location associated with the bistro and/orpast interactions with content items from the channel. For example, themenu item selected may be the type that is most frequently ordered bythe user or the type associated with content items most frequentlyinteracted with.

Additionally, the content item does not include a fixed expiration date,but rather is to include one that is set based on a day that the contentitem is first presented to a user and/or on a user device.

A variety of potential actions are presented with the content items. Thepotential actions can include default potential actions and/or onesspecifically associated with content item and/or channel. In the examplein FIG. 11, each potential action is represented by an icon.

Three of the options in the depicted representation includes a printingoption 1105, sharing option 1110 and saving option 1115. These can be,for example, default action options associated with all channel contentitems.

Selection of printing icon 1105 can cause a displayed content item to beprinted (e.g., by opening a printing interface filled with default andmodifiable printing information). Selection of sharing icon 1110 canpresent the user with options to send the content items to one or moreother devices via, e.g., email, a social networking service, textmessage, etc. The user may then, or may have previously, entered logininformation for the user's email account or social networking account.The user can identify recipients by, e.g., name, email address, phonenumber, contact list, etc. The content item can then be sent and/orposted.

Selection of saving icon 1115 can cause the content item to be saved.For example, the content item may be saved to a local folder on theuser's computing device. An interface may allow the subscriber toidentify a name for the content item and/or a saving destination (e.g.,folder), or a default naming convention and/or saving destination may beused. The user may then be able to locally retrieve the item. As anotherexample, and/or an indication can be sent to a server that identifiesthe content item, as well as the subscriber and/or subscriber device.The user may then be able to request access to saved content items, andthe server can send an indication as to which content items were savedfor the particular user or device and/or may send one or more savedcontent items themselves.

The action options also include a view-menu option 1120, a view-reviewsoption 1125, a delivery option 1130, a locate option 1135 and a calendaroption 1140. These options can apply to the channel in general, suchthat they are presented with all content items from the channel.

Selection of view-menu option 1120 can cause a menu to be displayed,where the menu is associated with a channel associated with displayedcontent item 1100. Thus, in this case, a menu for Annette's Bistro canbe presented. In some instances, the menu is presented as a channelcontent item. In some instances, the device displays a webpage with themenu. The menu may, or may not, be interactive. The menu may be onecorresponding to a time of day at which the option was selected. Forexample, a selection between a lunch or dinner menu may be made based onthe time of the selection.

Selection of view-reviews option 1125 may identify an overall rating ofthe restaurant and/or specific reviews of the restaurant. The rating maybe based on one or more user reviews and/or an estimated review of theuser (e.g., based on past reviews from the user, a location of the user,channel selections made by the user, user preferences, etc.).

Selection of delivery option 1130 can cause an interface to be presentedwhere a user can submit a delivery order. In some instances, deliveryoption 1130 and view-menu option 1120 are combined, such that selectionof the combined option presents an interactive menu. In some instances,delivery option 1130 or another option is associated with the capabilityof placing an order for carry-out.

Selection of locate option 1135 can identify information (e.g., anaddress, phone numbers and/or hours) of one or more merchants associatedwith the channel. For example, Annette's Bistro may be a chainrestaurant, associated with multiple locations. Selection of locateoption 1135 can cause a location of the user device to be detected and amerchant location closest to the user device to be identified andpresented on the user device.

Selection of a calendar option 1140 can allow a user to attempt to makea reservation at a merchant location associated with the channel. In oneinstance, selection of calendar option 1140 presents an interfacewhereby a user can identify requested reservation details (e.g., time,location and party size), and the user can be informed as to whetherthere is an available conforming reservation and whether the reservationis confirmed. In one instance, selection of calendar option 1140presents information to the user as to what days and/or times havereservation openings. The user can then select an opening and make areservation.

EXAMPLES Example 1

A vet office is a publisher for a vet channel. A user subscribes to thechannel by scanning a QR code in the office. The vet office sends itsaccount data (e.g., including pet-identifying information) for that userto a channel service provider server. The vet office also maintains acalendar for appointments and links the calendar to its channel.

The vet office establishes a rule that a Reminder content item is to bepresented one week before an appointment scheduled for the user. Thecontent item is custom generated to include the appointment time and petname. The Reminder is prioritized to appear at a top of a queue for thevet channel for the user when it is a week before the appointment.

Example 2

A clothing store is a publisher for a clothing channel. A usersubscribes to the channel after searching for online retail clothingchannels. Content items showcasing various pieces of clothing aretransmitted to the user. A destination for each content item providesfurther detail and a purchasing opportunity for the piece of clothing.

Interactions corresponding to destination requests are tracked for theuser. Clothing items that led to a purchase are highly weighted.Clothing items that the user visited the destination for but did notpurchase are moderately weighted. Other clothing items are assigned alow weight. Clothing items are each characterized based on one or morefactors (e.g., type of apparel, material, brand/designer, etc.). Channelitems are then selected based on the presented clothing items' factorsand weights, and the selected channel items are transmitted to a deviceof the user.

Example 3

A user is carrying a mobile device. It is 10 am and he is walking, notin his house. The user is subscribed to a coffee channel (that isassociated with multiple merchant locations), and an entity associatedwith the channel uploads to a server a purchasing history for the user.It is determined that the user purchases a coffee 80% of the daysbetween 9:30 am and 10:30 am. A merchant location nearest to a locationof the mobile device is identified at the server and sent to the mobiledevice. The mobile device generates a custom channel content item usinga template, where the generated content item identifies the merchantlocation and includes a one-day discount.

Example 4

A user is subscribed to a financial channel. As part of a subscriptionto the channel, the user identifies currently held stocks and stocks ofinterest. A template content item for the channel includes a rulewhereby a screen is to be divided into a top portion for currently heldstocks and a bottom portion for stocks of interest. Exact proportions ofthe portion are to depend on the relative number of currently heldstocks and stocks of interest.

When a device of the user is about to enter a display state, it sends arequest to a publisher device. The publisher device looks up currentvalues of the currently held stocks and stocks of interest and generatesa content item using the template to include the prices. The generateditem is transmitted to the user device.

Example 5

A user is subscribed to a real-estate channel. A current location of adevice of the user is detected. The location is determined to be in zipcode 55555. A channel content item is generated that includes text: “Areyou looking to purchase real estate in: Zip code 55555 or somewhereelse?” Each of “Zip code 55555” and “somewhere else” can be associatedwith a destination. Clicking on “Zip code 55555” may not change acontent item presented (such that the destination is a silentdestination) but can cause data to be stored or transmitted reflectingthe selection. Clicking on “somewhere else” can direct the device to awebpage where a user can identify one or more zip codes of interest.

Subsequently, content items with property offerings in the identifiedzip code can be selectively transmitted to a device of the user. If auser requests a destination for a given property, a webpage withadditional information can be displayed. Further, one or more contentitems can request that the user identify additional requirements orpreferences for a real-estate search, and requesting a destination candirect the user device to a webpage to identify search parameters (e.g.,bedroom counts, type of property, maximum budget). Content items withproperty offerings in the zip code and matching the parameters can thenbe identified and transmitted to the user device. Each of the propertycontent item can be presented along with an option to request an opinionof the property from a real estate agent or to schedule a viewing or theproperty. Selecting such option can cause a message with an identifierof the user to be transmitted to a party associated with the channel.

Example 6

A user is subscribed to a hair-salon channel. Every two weeks, a channelcontent item can be customized for a user to show upcoming availableappointments. A salon calendar can be compared to a calendar of theuser. Time slots with openings in both calendars can be identified. Alist of the three soonest time slots can be included in a content itemgenerated at a publisher device custom for the user and transmitted(e.g., via an intermediate channel-managing server) to a device of theuser.

Example 7

A user is subscribed to a restaurant channel. Payment informationassociated with the user (e.g., a credit card number) is stored in anaccount for the user. A content item includes at least part of a menuitem and a picture of each of one or more items. The item can becustomized to highlight top-picks for the user (based on prior menuordering) and to identify previously ordered items.

Each item is associated with an ordering option. A user can interactwith the ordering option to select an order quantity for a given itemand to identify any special instructions. The content item can alsoinclude a submit-purchase option. Selection of this option can cause theorder to be transmitted to a channel-associated merchant, who can thenprepare the order for delivery or pick-up (as specified based on anothercontent-item option). The order can be transmitted along with the user'spayment information, name and address.

A confirmation content item can be generated at a channel-managementserver to summarize the order and to identify an estimated delivery time(based on a current time and number of orders being processed at themerchant device).

It is understood that the various embodiments described herein are byway of example only, and are not intended to limit the scope of theinvention. For example, many of the materials and structures describedherein may be substituted with other materials and structures withoutdeviating from the spirit of the invention. The present invention asclaimed may therefore include variations from the particular examplesand preferred embodiments described herein, as will be apparent to oneof skill in the art. It is understood that various theories as to whythe invention works are not intended to be limiting.

The above description is illustrative and is not restrictive. Manyvariations of the invention will become apparent to those skilled in theart upon review of the disclosure. The scope of the invention should,therefore, be determined not with reference to the above description,but instead should be determined with reference to the pending claimsalong with their full scope or equivalents.

Although many embodiments were described above as comprising differentfeatures and/or combination of features, a person of ordinary skill inthe art after reading this disclosure may understand that in someinstances, one or more of these components could be combined with any ofthe components or features described above. That is, one or morefeatures from any embodiment can be combined with one or more featuresof any other embodiment without departing from the scope of theinvention.

As noted previously, all measurements, dimensions, and materialsprovided herein within the specification or within the figures are byway of example only.

A recitation of “a,” “an,” or “the” is intended to mean “one or more”unless specifically indicated to the contrary. Reference to a “first”component does not necessarily require that a second component beprovided. Moreover reference to a “first” or a “second” component doesnot limit the referenced component to a particular location unlessexpressly stated.

1. A computer-implemented method, comprising: determining, at anelectronic performing device that a plurality of inputs have beenreceived, wherein the plurality of inputs corresponds to a request tosubscribe to a plurality of channels, and wherein each input in theplurality of inputs is received using a graphical interface associatedwith an application on an electronic device; facilitating subscribingthe electronic device to each channel in the plurality of channels,wherein subscribing the electronic device to the plurality of channelsincludes generating or updating a customized data structure thatcorresponds to the electronic device, wherein the customized datastructure identifies one or more channels that the electronic device issubscribed to, wherein a subscription to each channel in the pluralityof channels results in a subscribed electronic device executing theapplication on the subscribed electronic device to periodically receivecontent-item data for one or more content items specified by a publisherof the channel, wherein a publisher specifying content-item data to bereceived for a channel is different than a different publisherspecifying different content-item data to be received for a differentchannel of the plurality of channels, wherein content items arepresented on an electronic device while the electronic device is in adisplay state, and wherein an electronic device enters the display stateafter a threshold duration or type of inactivity has been detected;identifying, at the electronic performing device, event data about anevent identified in an electronic calendar associated with theelectronic device; identifying a customization rule for the channel;determining that a characteristic of the content-item data for a contentitem of the one or more content items specified by the publisher of thechannel corresponds to the event; generating or selecting the contentitem using the customization rule and the event data, wherein thecontent item relates to the event or to a location of the event; andenabling a series of content items to be presented on the electronicdevice when the electronic device is in the display state, wherein theseries of content items includes the content item and a differentcontent item corresponding to the different content-item data specifiedby the different publisher.
 2. (canceled)
 3. The computer-implementedmethod of claim 1, wherein generating or selecting the content itemincludes: identifying a content-item template associated with thecustomization rule; and generating the content item using the template,the customization rule and the event data.
 4. The computer-implementedmethod of claim 1, wherein: the electronic performing device includes acomputing device remote from the electronic device; and enabling thecontent item to be presented on the electronic device when theelectronic device is in the display state includes transmitting thecontent item to the electronic device.
 5. The computer-implementedmethod of claim 1, wherein: the performing device includes theelectronic device; and enabling the content item to be presented on theelectronic device when the electronic device is in the display stateincludes presenting the content item on the electronic device when theelectronic device is in the display state. 6-10. (canceled)
 11. Thecomputer-implemented method of claim 1, wherein the customization ruleidentifies how to include at least part of the content-item data in thecontent item.
 12. A system, comprising: one or more data processors; anda non-transitory computer readable storage medium containinginstructions which when executed on the one or more data processors,cause the one or more data processors to perform actions including:determining that a plurality of inputs have been received, wherein theplurality of inputs corresponds to a request to subscribe to a pluralityof channels, and wherein each input in the plurality of inputs isreceived using a graphical interface associated with an application onan electronic device; facilitating subscribing the electronic device toeach channel in the plurality of channels, wherein subscribing theelectronic device to the plurality of channels includes generating orupdating a customized data structure that corresponds to the electronicdevice, wherein the customized data structure identifies one or morechannels that the electronic device is subscribed to, wherein asubscription to each channel in the plurality of channels results in asubscribed electronic device executing the application on the subscribedelectronic device to periodically receive content-item data for one ormore content items specified by a publisher of the channel, wherein apublisher specifying content-item data to be received for a channel isdifferent than a different publisher specifying different content-itemdata to be received for a different channel of the plurality ofchannels, wherein content items are presented on an electronic devicewhile the electronic device is in a display state, and wherein anelectronic device enters the display state after a threshold duration ortype of inactivity has been detected; identifying event data about anevent identified in an electronic calendar associated with theelectronic device; identifying a customization rule for the channel;determining that a characteristic of the content-item data for a contentitem of the one or more content items specified by the publisher of thechannel corresponds to the event; generating or selecting the contentitem using the customization rule and the event data, wherein thecontent item relates to the event or to a location of the event; andenabling a series of content items to be presented on the electronicdevice when the electronic device is in the display state, wherein theseries of content items includes the content item and a differentcontent item corresponding to the different content-item data specifiedby the different publisher.
 13. (canceled)
 14. The system of claim 12,wherein generating or selecting the content item includes: identifying acontent-item template associated with the customization rule; andgenerating the content item using the template, the customization ruleand the event data.
 15. (canceled)
 16. The system of claim 12, whereinthe customization rule identifies how to include at least part of thecontent-item data in the content item.
 17. A computer-program producttangibly embodied in a non-transitory machine-readable storage medium,including instructions configured to cause one or more data processorsto perform actions including: determining that a plurality of inputshave been received, wherein the plurality of inputs corresponds to arequest to subscribe to a plurality of channels, and wherein each inputin the plurality of inputs is received using a graphical interfaceassociated with an application on an electronic device; facilitatingsubscribing the electronic device to each channel in the plurality ofchannels, wherein subscribing the electronic device to the plurality ofchannels includes generating or updating a customized data structurethat corresponds to the electronic device, wherein the customized datastructure identifies one or more channels that the electronic device issubscribed to, wherein a subscription to each channel in the pluralityof channels results in a subscribed electronic device executing theapplication on the subscribed electronic device to periodically receivecontent-item data for one or more content items specified by a publisherof the channel, wherein a publisher specifying content-item data to bereceived for a channel is different than a different publisherspecifying different content-item data to be received for a differentchannel of the plurality of channels, wherein content items arepresented on an electronic device while the electronic device is in adisplay state, and wherein an electronic device enters the display stateafter a threshold duration or type of inactivity has been detected;identifying event data about an event identified in an electroniccalendar associated with the electronic device; identifying acustomization rule for the channel; determining that a characteristic ofthe content-item data for a content item of the one or more contentitems specified by the publisher of the channel corresponds to theevent; generating or selecting the content item using the customizationrule and the event data, wherein the content item relates to the eventor to a location of the event; and enabling a series of content items tobe presented on the electronic device when the electronic device is inthe display state, wherein the series of content items includes thecontent item and a different content item corresponding to the differentcontent-item data specified by the different publisher.
 18. (canceled)19. The computer-program product of claim 17, wherein generating orselecting the content item includes: identifying a content-item templateassociated with the customization rule; and generating the content itemusing the template, the customization rule and the event data. 20.(canceled)
 21. The computer-implemented method of claim 1, wherein thegeneration or selection is biased towards inclusion of contentassociated with the event.
 22. The computer-implemented method of claim1, wherein determining that the characteristic of the content-item datafor the content item of the one or more content items specified by thepublisher of the channel corresponds to the event includes: identifyinga location of the event; and determining that the channel is associatedwith another location near the location of the event, wherein thecharacteristic of the content-item data includes the other location. 23.The computer-implemented method of claim 1, wherein the event includesan appointment.
 24. The computer-implemented method of claim 1, whereincalendar data associated with the electronic calendar is stored locallyin a data store at the electronic performing device, and whereinidentifying the event data about the event includes retrieving thecalendar data from the data store.
 25. The computer-implemented methodof claim 1, further comprising: determining that the event is associatedwith the channel; in response to determining that the event isassociated with the channel, introducing a content-item selection bias,such that content items associated with the channel are more likely tobe presented on the electronic device than are content items associatedwith the different channel; and selecting content items to be includedin the series of content items, wherein the selection includes selectingeach of the content item and the different content items from amongst aset of previously received content items.
 26. The computer-implementedmethod of claim 1, further comprising determining a time period until atime of the identified event, wherein the generation or selection isbiased based on the time period.
 27. The system of claim 12, wherein thegeneration or selection is biased towards inclusion of contentassociated with the event.
 28. (canceled)
 29. The computer-programproduct of claim 17, wherein the generation or selection is biasedtowards inclusion of content associated with the event.
 30. (canceled)31. The computer-implemented method of claim 1, wherein the electronicdevice enters the display state upon detecting that input has not beenreceived for a defined period of time.
 32. The computer-implementedmethod of claim 1, further comprising: defining a sequence for theseries of content items, wherein the sequence is influenced by thedetermination that the characteristic of the content-item datacorresponds to the event, and wherein the sequence indicates that thecontent item is to be presented before the different content item.